home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Inne / Gry / Carnage_Contest / scripts / CC Original / weapons / Quake.lua < prev    next >
Text File  |  2009-09-16  |  2KB  |  74 lines

  1. --------------------------------------------------------------------------------
  2. -- Weapon Quake + Projectile Quake
  3. -- Original Carnage Contest Weapon
  4. -- Script by DC, September 2009, www.UnrealSoftware.de
  5. --------------------------------------------------------------------------------
  6.  
  7. -- Setup Tables
  8. if cc==nil then cc={} end
  9. cc.quake={}
  10. cc.quake.quake={}
  11.  
  12. -- Load & Prepare Ressources
  13. cc.quake.gfx_wpn=loadgfx("weapons/quake.png")                            -- Weapon Image
  14. setmidhandle(cc.quake.gfx_wpn)
  15. cc.quake.sfx_attack=loadsfx("quake.ogg")                                -- quake Sound
  16.  
  17. --------------------------------------------------------------------------------
  18. -- Weapon: Quake
  19. --------------------------------------------------------------------------------
  20.  
  21. cc.quake.id=addweapon("cc.quake","Quake",cc.quake.gfx_wpn,0,2)            -- Add Weapon (0 uses, first in round 2)
  22.  
  23. function cc.quake.draw()                                                -- Draw
  24.     -- Do nothing
  25. end
  26.  
  27. function cc.quake.attack(attack)                                        -- Attack
  28.     if (weapon_shots<=0) then
  29.         if (attack==1) then
  30.             -- No more weapon switching!
  31.             useweapon(0)
  32.             weapon_shots=weapon_shots+1
  33.             -- Effect
  34.             playsound(cc.quake.sfx_attack)
  35.             id=createprojectile(cc.quake.quake.id)
  36.             projectiles[id]={}
  37.             projectiles[id].timer=50*5
  38.             -- End Turn
  39.             endturn()
  40.         end
  41.     end
  42. end
  43.  
  44. --------------------------------------------------------------------------------
  45. -- Projectile: Quake
  46. --------------------------------------------------------------------------------
  47.  
  48. cc.quake.quake.id=addprojectile("cc.quake.quake")                        -- Add Projectile
  49.  
  50. function cc.quake.quake.draw()                                            -- Draw
  51.     -- Do nothing
  52. end
  53.  
  54. function cc.quake.quake.update()                                        -- Update
  55.     id=projectileid()
  56.     -- Quake effect
  57.     quake(10)
  58.     -- Timer
  59.     projectiles[id].timer=projectiles[id].timer-1
  60.     -- Shake players
  61.     if (projectiles[id].timer%25)==0 then
  62.         players=playertable()
  63.         for i=1,#players,1 do
  64.             if getplayerhealth(players[i])>0 and getplayeraction(players[i])==0 then
  65.                 math.randomseed(players[i]*512+getframe()*14189)
  66.                 playerpush(players[i],math.random(-7,7),math.random(-7,-3))
  67.             end
  68.         end
  69.     end
  70.     -- End quake (free projectile)
  71.     if projectiles[id].timer<=0 then
  72.         freeprojectile(id)
  73.     end
  74. end